Repository navigation
chore(deps): bump the production group with 8 updates - #121
Merged
Merged
Conversation
Bumps the production group with 8 updates: | Package | From | To | | --- | --- | --- | | org.slf4j:slf4j-simple | `2.0.19` | `2.0.20` | | org.slf4j:slf4j-api | `2.0.19` | `2.0.20` | | [gradle-wrapper](https://github.com/gradle/gradle) | `9.7.1` | `9.8.0` | | [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.22.2` | `2.22.3` | | com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.22.2` | `2.22.3` | | [org.hibernate.orm:hibernate-core](https://github.com/hibernate/hibernate-orm) | `7.4.10.Final` | `7.4.11.Final` | | [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.6.3` | `1.6.4` | | [com.h2database:h2](https://github.com/h2database/h2database) | `2.5.250` | `2.5.252` | Updates `org.slf4j:slf4j-simple` from 2.0.19 to 2.0.20 Updates `org.slf4j:slf4j-api` from 2.0.19 to 2.0.20 Updates `gradle-wrapper` from 9.7.1 to 9.8.0 - [Release notes](https://github.com/gradle/gradle/releases) - [Commits](gradle/gradle@v9.7.1...v9.8.0) Updates `com.fasterxml.jackson.module:jackson-module-kotlin` from 2.22.2 to 2.22.3 - [Commits](FasterXML/jackson-module-kotlin@jackson-module-kotlin-2.22.2...jackson-module-kotlin-2.22.3) Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.22.2 to 2.22.3 Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.22.2 to 2.22.3 Updates `org.hibernate.orm:hibernate-core` from 7.4.10.Final to 7.4.11.Final - [Release notes](https://github.com/hibernate/hibernate-orm/releases) - [Changelog](https://github.com/hibernate/hibernate-orm/blob/7.4.11/changelog.txt) - [Commits](hibernate/hibernate-orm@7.4.10...7.4.11) Updates `org.slf4j:slf4j-api` from 2.0.19 to 2.0.20 Updates `ch.qos.logback:logback-classic` from 1.6.3 to 1.6.4 - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.6.3...v_1.6.4) Updates `com.h2database:h2` from 2.5.250 to 2.5.252 - [Release notes](https://github.com/h2database/h2database/releases) - [Commits](h2database/h2database@version-2.5.250...version-2.5.252) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-simple dependency-version: 2.0.20 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production - dependency-name: org.slf4j:slf4j-api dependency-version: 2.0.20 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production - dependency-name: gradle-wrapper dependency-version: 9.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production - dependency-name: com.fasterxml.jackson.module:jackson-module-kotlin dependency-version: 2.22.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310 dependency-version: 2.22.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310 dependency-version: 2.22.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production - dependency-name: org.hibernate.orm:hibernate-core dependency-version: 7.4.11.Final dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production - dependency-name: org.slf4j:slf4j-api dependency-version: 2.0.20 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production - dependency-name: ch.qos.logback:logback-classic dependency-version: 1.6.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production - dependency-name: com.h2database:h2 dependency-version: 2.5.252 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production ... Signed-off-by: dependabot[bot] <support@github.com>
rawo
added a commit
that referenced
this pull request
Nov 3, 2026
## Summary Workers now claim only `PENDING` entries for their registered delivery types. The processor rotates its starting type and uses at most two claim queries per batch, independent of the number of types: one for the starting type and, when needed, one `IN` query for the rest. A mismatched entry is also rejected before delivery. PostgreSQL gets a partial `(delivery_type, created_at, id) WHERE status = 'PENDING'` index; MySQL gets `(status, delivery_type, created_at, id)` plus an exact, binary type check (`CAST(... AS BINARY)`) for case-insensitive collations. The unrestricted `OutboxStore.claimPending(limit)` remains available to direct callers and keeps its existing index. Custom stores used by Okapi's processor must implement `RouteAwareOutboxStore`, and so must hand-written wrappers around a built-in store. Spring autoconfiguration rejects an unsafe store at startup and names its class in the error. ## Behaviour changes (see CHANGELOG) - **BREAKING:** `OutboxProcessor` requires a `RouteAwareOutboxStore`. - **BREAKING:** `OutboxEntryProcessor.process`/`processBatch` throw `IllegalStateException` for an entry with no registered deliverer. Previously such an entry was marked `FAILED`. Inside the processor the transaction rolls back and the row stays `PENDING`. - **BREAKING:** new migration `002__route_aware_claim_index`. - Cross-type claim order is no longer globally oldest first. When the starting type doesn't fill the batch, the leftover capacity goes to the other types alphabetically. Every type is still claimed first at least once every N batches, so none is starved. This keeps each claim a cheap ordered index range. ## Verification - `./gradlew ktlintCheck build test` passes on top of current main. - The HTTP batch concurrency test now uses a server-side request barrier. Every request must arrive before any successful response is sent; intentionally switching delivery to sequential makes the test fail. Both PR #120 and #121 include the same test fix. - Core, Spring Boot and integration tests passed locally on PostgreSQL and MySQL Docker containers, including migrations, concurrent heterogeneous workers, exact type matching, HTTP and Kafka. - `MysqlOutboxStoreTest` asserts that the route-aware claim raises no server warnings. The deprecated `BINARY` operator raised warning 1287 on every claim. - On a 1,000,000-row outbox with 900,000 older unsupported rows, a 100-type absent `IN` claim used the route index and took about 0.16 ms on PostgreSQL and 0.21 ms on MySQL in local measurements. The previous full PostgreSQL index produced a 165 ms scan for that case. Scripts and context are in `benchmarks/route-aware-claim/`. - There is a write cost from the additional index. In exploratory repeated local runs, PostgreSQL insert/update medians were 1.47×/1.07× versus the legacy index alone; MySQL medians were 1.18×/1.29×. These are workload-specific measurements, not throughput guarantees. ## Rollout The branch includes the current main, preserving #119 startup validation and #115 outbox-id headers. For manually managed schemas, the README links both migrations: apply 001 and 002 in order for a new installation, or apply 002 before starting updated workers on an existing schema. Run PostgreSQL migration 002 outside a transaction because it creates the index concurrently. It first drops any `INVALID` index left by an interrupted earlier attempt. `CREATE INDEX CONCURRENTLY` waits for every older transaction in the database, so run it when no long transactions are open, or apply it ahead of the rollout. Older workers can still claim unsupported types, so publish a new type only after all old processors are upgraded or stopped. Previously `FAILED` rows need separate recovery. Closes #116 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Rafał Wokacz <rafal.wokacz@gmail.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This dependency update also replaces the flaky HTTP batch concurrency test with a server-side request barrier. It verifies that all requests are in flight before any response completes, without wall-clock performance thresholds. A temporary sequential-delivery mutation fails the test; the production implementation is unchanged.
./gradlew build ktlintCheckpassed locally after the fix.Bumps the production group with 8 updates:
2.0.192.0.202.0.192.0.209.7.19.8.02.22.22.22.32.22.22.22.37.4.10.Final7.4.11.Final1.6.31.6.42.5.2502.5.252Updates
org.slf4j:slf4j-simplefrom 2.0.19 to 2.0.20Updates
org.slf4j:slf4j-apifrom 2.0.19 to 2.0.20Updates
gradle-wrapperfrom 9.7.1 to 9.8.0Release notes
Sourced from gradle-wrapper's releases.
... (truncated)
Commits
a927be5Add the Develocity plugin back to the Android smoke tests (#39273)eaee500Add the Develocity plugin back to the Android smoke tests189b672Route everything still hitting Maven Central through the mirror (#39257)36b1814Add back mavenCentral to doc snippets2740c2dUpdate Gradle wrapper to version 9.8.0-rc-3 (#39264)2099383Update Gradle wrapper to version 9.8.0-rc-3c80202fRoute everything still hitting Maven Central through the mirror3f6a534Fix when a best practice was introduced (#39253)9efc9edFix when a best practice was introduced459e143Route integration test dependencies through the repository mirror (#39239)Updates
com.fasterxml.jackson.module:jackson-module-kotlinfrom 2.22.2 to 2.22.3Commits
31f1e96[maven-release-plugin] prepare release jackson-module-kotlin-2.22.3a0a52ecPrep for 2.22.3 release1dd753fMerge branch '2.21' into 2.22670befcPost-release dep version bump9aa44a6[maven-release-plugin] prepare for next development iterationf6b6e34[maven-release-plugin] prepare release jackson-module-kotlin-2.21.79f61f63Prep for 2.21.7 release28fa8a3Merge remote-tracking branch 'FasterXML/2.21' into 2.22a3d408aMerge pull request #1230 from k163377/wrongwrong/2.21-ci-kotlin-2.4.2062201b5Update CI Kotlin version 2.4.20-RC3 -> 2.4.20Updates
com.fasterxml.jackson.datatype:jackson-datatype-jsr310from 2.22.2 to 2.22.3Updates
com.fasterxml.jackson.datatype:jackson-datatype-jsr310from 2.22.2 to 2.22.3Updates
org.hibernate.orm:hibernate-corefrom 7.4.10.Final to 7.4.11.FinalRelease notes
Sourced from org.hibernate.orm:hibernate-core's releases.
Changelog
Sourced from org.hibernate.orm:hibernate-core's changelog.
Commits
a95dd44[Jenkins release job] Preparing release 7.4.11.Finalbb72fdf[Jenkins release job] changelog.txt updated by release build 7.4.11.Final7134c72Switch maven-plugin intTest logging from logback to log4j297efe59Fix Maven plugin integration tests not falling back to Maven Centraldd4001eFix Informix nightly failures58e974aHHH-17020 Test and fix issues with enum in id-class not copying type related ...bc7d0fbHHH-18910/HHH-17020 Test and fix issues with binding discriminator through pr...3cdebc0HHH-20826 Prefer merge for conflict do-nothing to reduce constraint violation...4555ed0HHH-20894 Ensure upsert/insert-or-update really is executed and retry batch p...57c59cfHHH-20894 Make Sybase behave like a sane SQL databaseUpdates
org.slf4j:slf4j-apifrom 2.0.19 to 2.0.20Updates
ch.qos.logback:logback-classicfrom 1.6.3 to 1.6.4Release notes
Sourced from ch.qos.logback:logback-classic's releases.
Commits
07d291cpreapre release 1.6.49627dafrevert to Collections.unmodifiableMap instead ofaa42fb5disabled RollingCalendarTest#testVaryingNumberOfHalfDailyPeriods to shave off...ddc7459Support HALF_DAY periodicity for AM/PM date patterns42d75d7disable LoggerContextTest#concurrentGetLoggerKeepsSizeConsistent to shave exe...bffd55eadd warnings about missing jline.jansi classes8de0b9bFix data race on LoggerContext.size (#1038)76c73d1add MinimalUnmodifiableMap and return it in LogbackMDCAdapter#getPropertyMapa2c416aFix formatting of email instruction in README2c89727mailing lists have been deactivatedUpdates
com.h2database:h2from 2.5.250 to 2.5.252Release notes
Sourced from com.h2database:h2's releases.
Commits
f986838in preparation for a release06c34a7Merge pull request #4418 from andreitokar/issues-4380-43761aef3e0#4376: Reading INFORMATION_SCHEMA.COLUMNS fails with a NPE while any material...4bb8aee#4380: creating a MATERIALIZED VIEW makes a persistent database permanently u...95b6af0Merge pull request #4417 from andreitokar/issue-43956ec30b6#4395 disallow constraints between temporary and permanent tables0f0f856Merge pull request #4416 from andreitokar/issue-4405f718b76#4405 SecureFileStore.readFully() may skip decryptione231ff7#4405 SecureFileStore.readFully() may skip4da0d1dMerge pull request #4415 from jjh75607/fix/log-sql-aarch64Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions